#include <stdio.h>
#include <stdlib.h>
#include "mtlib.c"
#include "Estructuras.h"


int pararEjecucion;

void procesarMensajeConsola(mti_mensaje);

void imprimirInfoYTrace(void){

while (!pararEjecucion) {

        int cantMensajes;
        cantMensajes = mtf_recibir_mensajes(centro);

        if (cantMensajes) {
                mti_mensaje datosMensaje;

                datosMensaje = mtf_siguiente_mensaje(centro);

                procesarMensajeConsola(datosMensaje);

                mtf_descartar_mensaje(centro, datosMensaje.codigo);

        }
}
}

void procesarMensajeConsola(mti_mensaje mensaje){

t_chs sectorCHS;
char * linea;

         switch (mensaje.categoria){

         if (mensaje.categoria == MTR_INFO_DISCO){
                 mtf_obtener_datos(centro, mensaje.codigo, &sectorCHS.pista ,&sectorCHS.sector);
                 printf("Posicion Actual del Cabezal: %lu:%lu", sectorCHS.pista, sectorCHS.sector);


         }

         if (mensaje.categoria == MTR_TRACE_DISCO) {

                 while (mensaje.categoria != MTR_FIN_TRACE_DISCO){

                                 mtf_obtener_datos(centro, mensaje.codigo, linea);
                                 printf("%s", linea);

                 }
         }
}
}
    
